package com.zyf.chapter02.creation.factory.simple;

import com.zyf.chapter02.creation.factory.util.*;

/**
 * 为了让类职责更加单一，代码更加清晰，将 createParser() 函数剥离到一个独立的类中让这个类只负责创建
 * @author yifeng
 */
public class V1RuleConfigParserFactory {
    public static IRuleConfigParser createParser(String configFormat) {
        IRuleConfigParser parser = null;
        if ("json".equalsIgnoreCase(configFormat)) {
            parser = new JsonRuleConfigParser();
        } else if ("xml".equalsIgnoreCase(configFormat)) {
            parser = new XmlRuleConfigParser();
        } else if ("yaml".equalsIgnoreCase(configFormat)) {
            parser = new YamlRuleConfigParser();
        }  else if ("properties".equalsIgnoreCase(configFormat)) {
            parser = new PropertiesRuleConfigParser();
        }
        return parser;
    }

}
